home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MacMETH 3.2.3 / MEdit ƒ / Macros ƒ / MacroEBNF < prev    next >
Text File  |  1995-12-13  |  2KB  |  69 lines

  1. numDigit    "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9".
  2. number    numDigit{numDigit}.
  3.  
  4. specChar    "\n"|"\t"|"\b"|"\N"|"\T"|"\B"|("\"number)|'\"'|"\\".
  5. string    '"'{character|specChar} {character|specChar} '"'.
  6.  
  7. metaChar    "."|":"|"$"|"<"|">"|"["|"]".
  8.  
  9. numVar    "#" (numDigit | ("(" numExpr ")")).
  10. strVar    "$" (numDigit | ("(" numExpr ")")).
  11.  
  12. numVal    number| numVar| numFunction| (("L"|C"|"S") metaChar).
  13. term    numVal {("*"|"/"|"MOD") numVal}.
  14. numExpr    ["+"|"-"] term {("+"|"-") term}.
  15.  
  16. numFun0    "ABSPOS"|"SCRH"|"SCRW".
  17. numFun1    ("LEN"|"ORD"|"VAL") "(" strVal ")".
  18. highNumFun    ("STRCMP"|"STRPOS") "(" strVal "," strVal "," numExpr ")".
  19.  
  20. numFunction    numFun0| numFun1| highNumFun.
  21.  
  22. strVal    string| strVar| strFunction.
  23.  
  24. strFun0    "$S"|"DATE"|"TIME"|"WNAME".
  25. strFun1    (("CHR"|"GETSTR"|"STR") "(" numExpr ")") |
  26.     (("CAP"|"DECAP") "(" strVal ")").
  27. highStrFun    strCmpCmd| subStrCmd| concatCmd.
  28. strCmpCmd    "STRCMP" "(" strVal "," strVal "," numExpr ")".
  29. subStrCmd    "SUBSTR" "(" strVal "," numExpr "," numExpr ")".
  30. concatCmd    "CONCAT" "(" strVal {"," numExpr} ")".
  31.  
  32. strFunction    strFun0| strFun1| highStrFun.
  33.  
  34. boolFun0    "OPEN".
  35. boolFun1    (("SECT"|"SELABS"|"WINDOW") "(" numExpr ")") |
  36.     (("FIND"|"OPEN"|"SAVEAS"|"QSAVAS") "(" strVal ")").
  37. highBoolFun    promptCmd|putStrCmd.
  38. promptCmd    "PROMPT" "(" strVal "," (numVar|strVar) ")".
  39. putStrCmd    "PUTSTR" "(" numExpr "," strVal ")".
  40.  
  41. boolFunction    boolFun1| boolFun1| highBoolFun.
  42.  
  43. numComp    numExpr ("="|"<"|">") numExpr.
  44. boolVal    ["NOT"] (numComp| boolFunction).
  45. boolExpr    boolVal {("AND"|"OR") boolVal}.
  46.  
  47. controlCmd    ifCmd| whileCmd| callCmd.
  48. ifCmd    "IF" boolExpr command [ELSE command].
  49. whileCmd    "WHILE" boolExpr command.
  50. callCmd    "CALL" "(" numExpr ")".
  51. block    "{" command {";" command} "}".
  52.  
  53. cmd0    "APPEND"|"BEEP"|"CLEAR"|"CLOSE"|"COPY"|"CUT"|"DROP"|"KEYCOD"|"NEW"|
  54.     "OPEN"|"PASTE"|"POP"|"PRINT"|"PUSH"|"SAVE"|"SAVEAS".
  55. cmd1    (("SECT"|"SELABS"|"WINDOW") "(" numExpr ")") |
  56.     (("ALERT"|"FIND"|"INSERT"|"OPEN"|"QSAVAS"|"SAVEAS") "(" strVal ")").
  57. highCmd    eAlertCmd|placeWCmd|promptCmd|putStrCmd|selectCmd|setCmd.
  58. eAlertCmd    "EALERT" "(" strVal "," strVal ")".
  59. placeWCmd    "PLACEW" "(" numExpr "," numExpr "," numExpr "," numExpr ")".
  60. promptCmd    see above
  61. putStrCmd    see above
  62. selectCmd    "SELECT" "(" numExpr "," numExpr ["|" numExpr "," numExpr] ")" ["!"].
  63. setCmd    "SET" "(" (numVar "," numExpr)| (strVar "," strVal) ")".
  64.  
  65. command    (controlCmd| cmd0| cmd1| highCmd| block).
  66.  
  67. macro    ["!"] [string] [number] ["(" number "," number ")"]  ["•"] block.
  68. macrofile    macro {";" macro} ".".
  69.